import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';

class FontSizeProvider extends ChangeNotifier {
  // 初始字体缩放值，与LoadTaskScreen中保持一致
  double _fontScale = 0.7;
  // 存储键名
  static const _storageKey = 'saved_font_scale';
  
  double get fontScale => _fontScale;

  // 初始化时从本地存储加载
  Future<void> init() async {
    final prefs = await SharedPreferences.getInstance();
    // 读取保存的值，如果没有则使用默认值
    final savedValue = prefs.getDouble(_storageKey);
    print('savedValue----$savedValue');
    if (savedValue != null) {
      _fontScale = savedValue;
      print('_fontScale----$_fontScale');
      notifyListeners();
    }
  }
  
  // 设置字体缩放值，限制在0-10范围
  void setFontScale(int value) {
    // 将0-10的范围映射到0.5-1.5的缩放范围
    _fontScale = 0.5 + (value / 10) * 1;
    notifyListeners(); // 通知所有监听者刷新
    // 保存到本地存储
    _saveToStorage();
  }

  // 保存到本地存储
  Future<void> _saveToStorage() async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.setDouble(_storageKey, _fontScale);
  }
}
